#include <stdio.h>
#include <string.h>
int main()
{
	char str[100];
	scanf("%s",str);
	int len=strlen(str);
	int num=0;
	int comprise[20]={0};
	for(int i=0;i<len;i++)
	{
		if(str[i]>='0'&&str[i]<='9')
		{
			num=num*10+str[i]-'0';
		}
	}
	int index=0;
	for(int i=2;i<num;i++)
	{
		if(num%i==0)
		{
			comprise[index++]=i;
		}
	}
	int max=comprise[0];
	for(int i=1;i<index;i++)
	{
		if(comprise[i]>max)
		{
			max=comprise[i];
		}
	}
if(index==0)
{
	printf("%d",num);
}
else
{
	printf("%d",max);
}
	return 0;
}
